package edu.mbi.ucla.pdbsearch.model;

import java.util.Collection;


/**
 * User: Jason Nerothin (jasonnerothin at gmail dot com)
 * Date: Nov 7, 2006
 * Time: 8:54:14 AM
 */
public abstract class AbstractProtein implements Visitable{

    abstract Collection<? extends AbstractSource> getSources();

    abstract Collection<? extends AbstractSynonym> getSynonyms();

    abstract Collection<? extends AbstractMutation> getMutations();

    abstract Collection<? extends AbstractCompound> getCompounds();

    abstract String getName();

    abstract String getECNumber();

    abstract boolean isEngineered();

    abstract String getOtherDetails();

    abstract String getUniprotId();

    abstract String getRefseqId();
    
}
